Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Don't run tidy exec check on WSL2 #74753

Closed
wants to merge 2 commits into from
Closed

Don't run tidy exec check on WSL2 #74753

wants to merge 2 commits into from

Conversation

carbotaniuman
Copy link
Contributor

@carbotaniuman carbotaniuman commented Jul 25, 2020

WSL2 has a lowercase "microsoft' in /proc/version

WSL has a lowercase "microsoft' in `/proc/version`
@rust-highfive
Copy link
Collaborator

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @nikomatsakis (or someone else) soon.

If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. Due to the way GitHub handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes.

Please see the contribution instructions for more information.

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Jul 25, 2020
@carbotaniuman carbotaniuman changed the title Don't run tidy on WSL2 Don't run tidy exec check on WSL2 Jul 25, 2020
@mati865
Copy link
Contributor

mati865 commented Jul 25, 2020

WSL2 is a normal VM, why should it skip that step?

@gotorust

This comment has been minimized.

@nikomatsakis
Copy link
Contributor

I'm not sure why the original check was there, but this seems like a reasonable extension of it. I'm ok to r+ but @mati865 if you'd prefer to discuss a bit more that's fine with me too.

@mati865
Copy link
Contributor

mati865 commented Jul 27, 2020

I'm still not convinced this is the proper solution. WSL2 has proper ext4 filesystem that has proper permissions:

$ stat Projects/rust/Cargo.toml
  File: Projects/rust/Cargo.toml
  Size: 3291            Blocks: 8          IO Block: 4096   regular file
Device: 810h/2064d      Inode: 111745      Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/ mateusz)   Gid: ( 1000/ mateusz)
Access: 2020-07-27 16:06:23.850000000 +0200
Modify: 2020-07-27 16:06:23.480000000 +0200
Change: 2020-07-27 16:06:23.480000000 +0200
 Birth: -
$ cat /proc/version
Linux version 4.19.104-microsoft-standard (oe-user@oe-host) (gcc version 8.2.0 (GCC)) #1 SMP Wed Feb 19 06:37:35 UTC 2020

You really shouldn't use Rust from /mnt/X because all IO operations will be performed over P9 protocol which is awfully slow.

IMO the proper solution here would be to check if filesystem supports proper permissions and otherwise skip the check but I doubt that's easy to do.

@nikomatsakis
Copy link
Contributor

I see. Maybe others in the windows notification group may have some advice =)

@rustbot ping windows

@rustbot
Copy link
Collaborator

rustbot commented Jul 29, 2020

Hey Windows Group! This bug has been identified as a good "Windows candidate".
In case it's useful, here are some instructions for tackling these sorts of
bugs. Maybe take a look?
Thanks! <3

cc @arlosi @danielframpton @gdr-at-ms @kennykerr @luqmana @lzybkr @retep998 @rylev @sivadeilra

@rustbot rustbot added the O-windows Operating system: Windows label Jul 29, 2020
@Muirrum Muirrum added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Aug 13, 2020
@crlf0710 crlf0710 added the S-waiting-on-team Status: Awaiting decision from the relevant subteam (see the T-<team> label). label Sep 4, 2020
@spastorino
Copy link
Member

Adding T-compiler label so this can be picked up by our automated prioritization tool and added to the following T-compiler weekly meeting agenda.

@spastorino spastorino added the T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. label Sep 9, 2020
@spastorino
Copy link
Member

This was discussed during today's compiler meeting, check out the log here

@pnkfelix
Copy link
Member

and there was further followup discussion today, here

The conclusion from yesterday had been "maybe we should revise things so that this check runs solely on CI, because the existing logic (with or without the change proposed here) isn't really doing the right thing -- you want to know properties of the file system, not of the host OS)."

But then today we rethought things more. maybe we'll still disable the check outside of CI, or maybe we'll come up with a more robust form of the check. See the discussion linked above.

I'm leaving this PR open for now, because if we do leave this logic in, then we should probably apply this amendment to it. But it would be better to figure out a way to revise the logic or remove it.

@jyn514 jyn514 added the A-testsuite Area: The testsuite used to check the correctness of rustc label Sep 15, 2020
@spastorino spastorino removed the S-waiting-on-team Status: Awaiting decision from the relevant subteam (see the T-<team> label). label Sep 17, 2020
@crlf0710 crlf0710 added S-blocked Status: Blocked on something else such as an RFC or other implementation work. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Oct 8, 2020
JohnTitor added a commit to JohnTitor/rust that referenced this pull request Oct 17, 2020
Modify executable checking to be more universal

This uses a dummy file to check if the filesystem being used supports the executable bit in general.

Supersedes rust-lang#74753.
@bors
Copy link
Contributor

bors commented Oct 17, 2020

☔ The latest upstream changes (presumably #78060) made this pull request unmergeable. Please resolve the merge conflicts.

Note that reviewers usually do not review pull requests until merge conflicts are resolved! Once you resolve the conflicts, you should change the labels applied by bors to indicate that your PR is ready for review. Post this as a comment to change the labels:

@rustbot modify labels: +S-waiting-on-review -S-waiting-on-author

@carbotaniuman
Copy link
Contributor Author

@Mark-Simulacrum it looks like your PR supersedes this, so I'll just close it?

@Mark-Simulacrum
Copy link
Member

Yes, that seems right, thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-testsuite Area: The testsuite used to check the correctness of rustc O-windows Operating system: Windows S-blocked Status: Blocked on something else such as an RFC or other implementation work. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.